package uva.asimov.asimovtrainner;

import java.io.File;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

/**
 * 
 * @author Víctor Alonso Egido
 * @author Edgar Guaza Mayo
 * @author Rubén Moya Vázquez
 * 
 * Actividad principal y pantalla inicial de la aplicación
 *
 */
public class MainActivity extends Activity {

	
	
	private static final String ASIMOV=MainActivity.class.getSimpleName();
	private Button btnHelp;
	private Button btnAddData;
	private Button btnShowData;
	private Button btnImportXML;
	private Button btnExportXML;
	
	
	
	/**
	 * Método de creación de la actividad
	 */
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		btnHelp = (Button) findViewById(R.id.btnHelp);
		btnHelp.setOnClickListener(new OnClickListener(){
		public void onClick(View view){
			lanzarAyuda();
		}
		});
		
		btnAddData = (Button) findViewById(R.id.btnAddData);
		btnAddData.setOnClickListener(new OnClickListener(){
		public void onClick(View view){
			annadirDatos();
		}
		});

		
		btnShowData = (Button) findViewById(R.id.btnShowData);
		btnShowData.setOnClickListener(new OnClickListener(){
		public void onClick(View view){
			mostrarDatos();
		}
		});
		
		btnImportXML = (Button) findViewById(R.id.btnimportXML);
		btnImportXML.setOnClickListener(new OnClickListener(){
		public void onClick(View view){
			ImportarXML();
		}
		});
		btnExportXML = (Button) findViewById(R.id.btnexportXML);
		btnExportXML.setOnClickListener(new OnClickListener(){
		public void onClick(View view){
			ExportarXML();
		}
		});
		
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
	
	/**
	 * Lanza el intent para HelpActivity. Para la pantalla de ayuda
	 */
	protected void lanzarAyuda(){
		Intent intent= new Intent(this,HelpActivity.class);
		startActivity(intent);
		Log.d(ASIMOV, "Lanzar ayuda desde menu");
		
	}
	/**
	 * Lanza el intent paraRegisterActivity. Pantalla de la actividad para incorporar datos de entrenamiento
	 */
	protected void annadirDatos(){
		Intent intent= new Intent(this,RegisterActivity.class);
		startActivity(intent);
		Log.d(ASIMOV, "Lanzar ventana de añadir datos desde menu");
		
	}
	
	/**
	 * Lanza el intent para ShowActivity. Muestra el registro de entrenamientos.
	 */
	protected void mostrarDatos(){
		Intent intent= new Intent(this,ShowActivity.class);
		startActivity(intent);
		Log.d(ASIMOV, "Lanzar ventana de mostrar datos desde menu");
		
	}
	
	protected void ImportarXML(){
		Intent intent= new Intent(this,ImportXML.class);
		startActivity(intent);
		Log.d(ASIMOV, "Lanzar ventana de importar XML");
		
	}
	
	protected void ExportarXML(){
		DataBaseManager manager=new DataBaseManager(this);
		ExportManager em=new ExportManager();
		File file=new File("fTEST.xml");
		em.exportAll(manager, file);
		
		/*Intent intent= new Intent(this,ExportXML.class);
		startActivity(intent);
		Log.d(ASIMOV, "Lanzar ventana de Exportar XML");
		*/
	}
}
